
// class Person {
// 	public name: string
// 	private age: number
// 	protected money: number = 10000000
// 	constructor(name: string, age: number) {
// 		this.name = name
// 		this.age = age
// 	}
// }

// class Son extends Person {
// 	public sex: string
// 	constructor(name, age, sex) {
// 		super(name, age)
// 		this.sex = sex

// 		// this.
// 	}
// }

// const s = new Son('李四', 10, '男')

// function fun<T>(a: T, b: T): T {
// 	return 


// const str = fun(1, 123)


// 接口
// interface User {
// 	name: string
// 	age: number
// 	sex: '男' | '女',
// 	job: string,
// 	// 可选属性
// 	children?: string
// 	// 只读属性
// 	readonly id: number
// 	// 额外的属性检查
// 	[propsName: string]: any
// }

// const u: User = {
// 	name: '张三',
// 	age: 18,
// 	sex: '男',
// 	job: '学生',
// 	children: '123',
// 	id: 1,
// 	1231: 123123,
// 	qwrwerw: true
// }

// u.sex = '女'
// u.id = 1231231


// // 函数接口
// interface Fun {
// 	(a: number, b: number) : number
// }

// const fun: (a: number, b: number) => number = (a, b) => {
// 	return a + b
// }

// 可索引的类型
// interface I {
// 	[propsName: number]: string | boolean
// }

// const arr: I = ['1', '2', '3', true]


// 类接口


// function countConsistentStrings(allowed: string, words: string[]): number {
// 	let num: number = 0

// 	words.forEach(v => {
// 		const flag = v.split('').every(item => {
// 			return allowed.includes(item)
// 		})

// 		flag && ++num
// 	})

// 	return num
// };


// const num: number = countConsistentStrings('abc', ['a', 'b', 'c', 'cb', 'd', 'dc']) 
// const num1: number = countConsistentStrings('cad', ['cc', 'acd', 'b', 'ba', 'bac', 'bad','ac', 'd']) 
// console.log(num, num1);




// function removeDuplicates(s: string): string {
// 	let str = '';
// 	let num = s.length % 3
// 	if (num !== 1) {
// 		s = s.replace(/[-\s]/g, '')

// 		s.split('').forEach((v, i) => {
// 			if ((i + 1) % 3 === 0 && i !== s.length - 1) {
// 				str += v + '-'
// 			} else {
// 				str += v
// 			}
// 		})
// 	} else {
// 		s = s.replace(/[-\s]/g, '')

// 		s.split('').forEach((v, i) => {
// 			if ((i + 1) % 3 === 0 && i !== s.length - 1 && i !== s.length - 2) {
// 				str += v + '-'
// 			} else {
// 				str += v
// 			}
// 		})
// 	}
// 	return str

// };

// const str = removeDuplicates('12-3-45 6')
// const str2 = removeDuplicates('12-3-45')
// const str1 = removeDuplicates('12-3-45 67891')

// console.log(str, str1, str2);



function reformatNumber(s: string): string {
	let str = ''
	// 判断是否重复

	for (let i = 0; i < s.length; i++) {
		if (s[i] === s[i - 1]) {
			str += s.slice(0, i - 1)
			str += s.slice(i + 1)
			return reformatNumber(str)
		} else if (s[i] === s[i + 1]) {
			str += s.slice(0, i - 1)
			str += s.slice(i + 1)
			return reformatNumber(str)
		}
	}

	return str
};

const str = reformatNumber('abbacd')